package aiservice

// RespStreamData 代表流式响应数据的结构体
type StreamRespData struct {
	Output    Output `json:"output"`     // 输出字段包含生成的文本内容和相关信息
	Usage     Usage  `json:"usage"`      // 使用字段包含模型使用情况的信息
	RequestID string `json:"request_id"` // 请求的唯一标识符
}

// Output 结构体代表输出部分的数据
type StreamOutput struct {
	FinishReason string `json:"finish_reason"` // 完成的原因
	SessionID    string `json:"session_id"`    // 会话的唯一标识符
	Text         string `json:"text"`          // 生成的文本内容
}

// Usage 结构体代表模型使用情况的数据
type StreamUsage struct {
	Models []ModelUsage `json:"models"` // 模型使用情况的列表
}

// ModelUsage 结构体代表单个模型的使用情况
type StreamModelUsage struct {
	OutputTokens int    `json:"output_tokens"` // 输出的令牌数量
	ModelID      string `json:"model_id"`      // 使用的模型 ID
	InputTokens  int    `json:"input_tokens"`  // 输入的令牌数量
}
